table of contents
        
      
      
    | ZIP_FDOPEN(3) | Library Functions Manual | ZIP_FDOPEN(3) | 
NAME¶
zip_fdopen — open
    zip archive using open file descriptor
LIBRARY¶
libzip (-lzip)
SYNOPSIS¶
#include
  <zip.h>
zip_t *
  
  zip_fdopen(int
    fd, int flags,
    int *errorp);
DESCRIPTION¶
The zip archive specified by the open file descriptor
    fd is opened and a pointer to a struct
    zip, used to manipulate the archive, is returned. In contrast to
    zip_open(3), using zip_fdopen the
    archive can only be opened in read-only mode. The fd
    argument may not be used any longer after calling
    zip_fdopen. The flags are
    specified by
    or'ing
    the following values, or 0 for none of them.
- ZIP_CHECKCONS
- Perform additional stricter consistency checks on the archive, and error if they fail.
If an error occurs and errorp is
    non-NULL, it will be set to
    the corresponding error code.
RETURN VALUES¶
Upon successful completion zip_fdopen()
    returns a struct zip pointer, and
    fd should not be used any longer, nor passed to
    close(2). Otherwise, NULL is
    returned and *errorp is set to indicate the error. In
    the error case, fd remains unchanged.
ERRORS¶
The file specified by fd is prepared for use by libzip(3) unless:
- [ZIP_ER_INCONS]
- Inconsistencies were found in the file specified by
      path. This error is often caused by specifying
      ZIP_CHECKCONSbut can also happen without it.
- [ZIP_ER_INVAL]
- The flags argument is invalid. Not all
      zip_open(3) flags are allowed for
      zip_fdopen, see DESCRIPTION.
- [ZIP_ER_MEMORY]
- Required memory could not be allocated.
- [ZIP_ER_NOZIP]
- The file specified by fd is not a zip archive.
- [ZIP_ER_OPEN]
- The file specified by fd could not be prepared for use by libzip(3).
- [ZIP_ER_READ]
- A read error occurred; see errno for details.
- [ZIP_ER_SEEK]
- The file specified by fd does not allow seeks.
SEE ALSO¶
HISTORY¶
zip_fdopen() was added in libzip 1.0.
AUTHORS¶
Dieter Baron <dillo@nih.at> and Thomas Klausner <tk@giga.or.at>
| December 18, 2017 | Linux 5.14.0-427.18.1.el9_4.x86_64 |